﻿using System;

namespace Simp.Model
{
	/// <summary>Represents a component able to transform an <see cref="IExpression"/> into another.</summary>
	public interface IExpressionTransformation
	{
		/// <summary>Transforms a function and returns a transformed version of it or <c>null</c> if no changes were done.</summary>
		/// <param name="expression"/>
		/// <returns></returns>
		IExpression Tranform(IExpression expression);
	}
}